include $(PROJECT_DIR)/controllers/algo/algo.mk
include $(PROJECT_DIR)/controllers/core/core.mk
include $(PROJECT_DIR)/controllers/math/math.mk
include $(PROJECT_DIR)/controllers/trigger/trigger.mk
include $(PROJECT_DIR)/controllers/sensors/sensors.mk
include $(PROJECT_DIR)/controllers/system/system.mk

CONTROLLERS_DIR=$(PROJECT_DIR)/controllers

CONTROLLERS_SRC_CPP = \
	$(CONTROLLERS_DIR)/actuators/electronic_throttle.cpp \
	$(CONTROLLERS_DIR)/actuators/ac_control.cpp \
	$(CONTROLLERS_DIR)/actuators/alternator_controller.cpp \
	$(CONTROLLERS_DIR)/actuators/boost_control.cpp \
	$(CONTROLLERS_DIR)/actuators/dc_motors.cpp \
	$(CONTROLLERS_DIR)/actuators/harley_acr.cpp \
	$(CONTROLLERS_DIR)/actuators/idle_thread_io.cpp \
	$(CONTROLLERS_DIR)/actuators/idle_hardware.cpp \
	$(CONTROLLERS_DIR)/actuators/idle_thread.cpp \
	$(CONTROLLERS_DIR)/actuators/ignition_controller.cpp \
	$(CONTROLLERS_DIR)/actuators/main_relay.cpp \
	$(CONTROLLERS_DIR)/actuators/vvt.cpp \
	$(CONTROLLERS_DIR)/actuators/gppwm_channel_reader.cpp \
	$(CONTROLLERS_DIR)/actuators/gppwm/gppwm_channel.cpp \
	$(CONTROLLERS_DIR)/actuators/gppwm/gppwm.cpp \
	$(CONTROLLERS_DIR)/gauges/speedometer.cpp \
	$(CONTROLLERS_DIR)/gauges/malfunction_indicator.cpp \
	$(CONTROLLERS_DIR)/system/timer/single_timer_executor.cpp \
	$(CONTROLLERS_DIR)/system/timer/pwm_generator_logic.cpp \
	$(CONTROLLERS_DIR)/system/timer/event_queue.cpp \
	$(CONTROLLERS_DIR)/settings.cpp \
	$(CONTROLLERS_DIR)/core/error_handling.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/high_pressure_fuel_pump.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/rpm_calculator.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/spark_logic.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/knock_controller.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/main_trigger_callback.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/prime_injection.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/aux_valves.cpp \
	$(CONTROLLERS_DIR)/engine_cycle/fuel_schedule.cpp \
	$(CONTROLLERS_DIR)/flash_main.cpp \
	$(CONTROLLERS_DIR)/storage.cpp \
	$(CONTROLLERS_DIR)/storage_flash.cpp \
	$(CONTROLLERS_DIR)/storage_mfs.cpp \
	$(CONTROLLERS_DIR)/storage_sd.cpp \
	$(CONTROLLERS_DIR)/bench_test.cpp \
	$(CONTROLLERS_DIR)/can/obd2.cpp \
	$(CONTROLLERS_DIR)/can/can_verbose.cpp \
	$(CONTROLLERS_DIR)/can/can_rx.cpp \
	$(CONTROLLERS_DIR)/can/can_bench_test.cpp \
	$(CONTORLLERS_DIR)/can/rusefi_wideband.cpp \
	$(CONTROLLERS_DIR)/can/can_tx.cpp \
	$(CONTROLLERS_DIR)/can/can_dash.cpp \
	$(CONTROLLERS_DIR)/can/can_dash_ms.cpp \
	$(CONTROLLERS_DIR)/can/can_dash_nissan.cpp \
	$(CONTROLLERS_DIR)/can/can_dash_haltech.cpp \
	$(CONTROLLERS_DIR)/can/can_dash_honda.cpp \
	$(CONTROLLERS_DIR)/can/can_vss.cpp \
	$(CONTROLLERS_DIR)/can/isotp/isotp.cpp \
 	$(CONTROLLERS_DIR)/engine_controller.cpp \
 	$(CONTROLLERS_DIR)/engine_controller_misc.cpp \
	$(CONTROLLERS_DIR)/persistent_store.cpp \
	$(CONTROLLERS_DIR)/start_stop.cpp \
	$(CONTROLLERS_DIR)/tcu/buttonshift.cpp \
	$(CONTROLLERS_DIR)/tcu/tcu.cpp \
	$(CONTROLLERS_DIR)/tcu/gear_controller.cpp \
	$(CONTROLLERS_DIR)/tcu/gc_generic.cpp \
	$(CONTROLLERS_DIR)/tcu/gc_auto.cpp \
	$(CONTROLLERS_DIR)/tcu/simple_tcu.cpp \
	$(CONTROLLERS_DIR)/tcu/tc_4l6x.cpp \
	$(CONTROLLERS_DIR)/tcu/tc_4.cpp \
	$(CONTROLLERS_DIR)/shutdown_controller.cpp \
	$(CONTROLLERS_DIR)/limp_manager.cpp \
	$(CONTROLLERS_DIR)/hysteresis.cpp \
	$(CONTROLLERS_DIR)/max_limit_with_hysteresis.cpp \
	$(CONTROLLERS_DIR)/long_term_fuel_trim.cpp \

CONTROLLERS_INC=\
	$(CONTROLLERS_DIR) \
	$(CONTROLLERS_DIR)/system \
	$(CONTROLLERS_DIR)/system/timer \
	$(CONTROLLERS_DIR)/algo \
	$(CONTROLLERS_DIR)/algo/airmass \
	$(CONTROLLERS_DIR)/algo/defaults \
	$(CONTROLLERS_DIR)/algo/fuel \
	$(CONTROLLERS_DIR)/algo/ignition \
	$(CONTROLLERS_DIR)/engine_cycle \
	$(CONTROLLERS_DIR)/trigger/decoders \
	$(CONTROLLERS_DIR)/tcu \
	$(CONTROLLERS_DIR)/trigger \
	$(CONTROLLERS_DIR)/can \
	$(CONTROLLERS_DIR)/can/isotp \
	$(CONTROLLERS_DIR)/core \
	$(CONTROLLERS_DIR)/gauges \
	$(CONTROLLERS_DIR)/math \
	$(CONTROLLERS_DIR)/generated \
	$(CONTROLLERS_DIR)/actuators \
	$(CONTROLLERS_DIR)/actuators/gppwm \
	$(CONTROLLERS_DIR)/serial \

